<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class _reservaM extends CI_Model {

    public function __construct() {
        $this->load->database();
    }

    // S E L E C T
    public function get($id) {
        $query = "SELECT * FROM reserva WHERE id_reserva='$id'";
        return $this->db->query($query)->result();
    }

    public function get_fecha($establecimiento, $tipo, $fecha) {
        $query = "SELECT * FROM reserva WHERE id_establecimiento='$establecimiento' AND date_format(fecha_{$tipo}, '%d/%m/%Y') = '{$fecha}'";
        //echo $query;
        return $this->db->query($query)->result();
    }

    public function getReporteFecha($establecimiento, $tipo, $fecha) {
        $query = "SELECT c.nombre as habitacion, cl.nombre, cl.primer_apellido, cl.segundo_apellido, cat.nombre as categoria, r.numero_personas,r.nota
FROM cuarto c, reserva_x_cuarto rc,reserva r,cliente cl ,categoria cat
WHERE c.id_cuarto=rc.id_cuarto AND r.id_reserva=rc.id_reserva AND r.estatus<>'cancelada' AND cat.id_categoria=c.id_categoria
AND r.id_cliente=cl.id_cliente AND r.id_establecimiento='$establecimiento' AND date_format(r.fecha_{$tipo},'%d/%m/%Y')='$fecha'";   
        return $this->db->query($query)->result();
    }

    public function getHabitacionesDisponibles($establecimiento, $fecha) {
        $fecha = explode("/", $fecha);
        $fecha = "$fecha[2]-$fecha[1]-$fecha[0]";
        $query = "SELECT cat.nombre as categoria, c.nombre  as cuarto  FROM cuarto c,categoria cat
WHERE c.id_cuarto NOT IN
(SELECT rc.id_cuarto
	FROM reserva_x_cuarto rc, reserva r 
	WHERE r.id_reserva=rc.id_reserva
	AND r.estatus NOT IN('fin')
        AND r.id_establecimiento='$establecimiento'
        AND ('$fecha' BETWEEN r.fecha_ingreso AND r.fecha_salida)
)  AND c.id_categoria=cat.id_categoria
AND cat.id_establecimiento='$establecimiento' AND cat.eliminado=0  AND c.eliminado=0
ORDER BY cat.nombre, c.nombre";
        return $this->db->query($query)->result();
    }
    
    
    public function query($query){
         return $this->db->query($query)->result();
    }
    
   
    
    

    // U P D A T E 
    // D E L E T E
}